
SliderMenuViewCtrl = Class('SliderMenuViewCtrl');  -- 定义一个类

---初始化变量
SliderMenuViewCtrl.navCtrl = nil;   -- 对应的navctrl
SliderMenuViewCtrl.rootView = nil;   -- 对应的navctrl
-- 初始化

SliderMenuViewCtrl.contentView = nil;
SliderMenuViewCtrl.leftMenuViewCtrl = nil;		--左菜单视图容器
SliderMenuViewCtrl.rightMenuViewCtrl = nil;		--右菜单视图容器
SliderMenuViewCtrl.centerMenuViewCtrl = nil;

SliderMenuViewCtrl.widthOfLeftMenu = nil;  	--左菜单的宽度
SliderMenuViewCtrl.widthOfRightMenu = nil; 	--右菜单的宽度

SliderMenuViewCtrl.backgroundImage = nil;	--背景图片
SliderMenuViewCtrl.leftMenuIsEnable = nil; --是否有左菜单
SliderMenuViewCtrl.rightMenuIsEnable = nil;	--是否有右边菜单
SliderMenuViewCtrl.sliderScrollView = nil;

function SliderMenuViewCtrl:ctor() 

     print('SliderMenuViewCtrl:initViewCtrl')
	 return self;
end
-- 局部变量
function SliderMenuViewCtrl:push(viewCtrl,animat)
    print('SliderMenuViewCtrl:push=',viewCtrl)
	self.navCtrl:push(viewCtrl,1);

end

function SliderMenuViewCtrl:pop(animat)
    self.navCtrl:pop(1);
end

function SliderMenuViewCtrl:popOfViewCtrl(viewCtrl,animat)
    self.navCtrl:popOfViewCtrl(viewCtrl,animat);
end

--[[
功能   ：  controller被创建 状态
参数   ： 无
返回   ： 无
]]
function SliderMenuViewCtrl:onCtrlCreate(rootView)
    self.rootView = rootView;
    local w,h = rootView:getWH();
    self.centerMenuView = MLView.new():initView(w,h)
    self:init();
    self.contentView = MLView.new():initView(self.widthOfLeftMenu+w+self.widthOfRightMenu,h);
    self.sliderScrollView = MLScrollView.new():initScrollView(w, h, true);
    rootView:add(self.sliderScrollView);

    if self.leftMenuViewCtrl ~= nil then
        self.leftMenuViewCtrl.rootView = MLView.new():initView(self.widthOfLeftMenu,h);

  	    self.leftMenuViewCtrl:onCreate(self.leftMenuViewCtrl.rootView);
	end
	if self.rightMenuViewCtrl ~= nil then
		self.rightMenuViewCtrl.rootView = MLView.new():initView(self.widthOfRightMenu,h);
		self.rightMenuViewCtrl:onCreate(self.rightMenuViewCtrl.rootView);
	end

	if self.hideHeadView == nil or self.hideHeadView == false then
		self.headView = UIHeadView.new():init(self,'SliderMenuViewCtrl.hideview');
		self.headView:setTitle(self.title);
		if #Application.rootNavCtrl.viewCtrls >1 then
			self.headView:setLeftHidden (false)
		else
		    self.headView:setLeftHidden (true)
		end

		local headH = self.headView:getHeight();
		local w,h = rootView:getWH();
		local content = MLView.new():initView(w, h - headH,nil,'SliderMenuViewCtrl.content');
		--local content = MLView.new():initView(w, h - headH,self);
		self.centerMenuView :add(self.headView, 0, 0);
		self.centerMenuView :add(content, 0, headH);
		self:onCreate(content);
	else
		self:onCreate(self.centerMenuView);
	end
	self.contentView:add(self.leftMenuViewCtrl.rootView,0,0);
	self.contentView:add(self.rightMenuViewCtrl.rootView,self.centerMenuView.mWidth+self.widthOfLeftMenu,0);
	self.contentView:add(self.centerMenuView,self.widthOfLeftMenu,0);
	self.sliderScrollView:add(self.contentView);
	self.sliderScrollView:setScrollPos(20)

    --刷新view
    if self.weekTable.viewcash then
		for i,v in ipairs(self.weekTable.viewcash) do
		    if v.onCreate then
				v:onCreate();
			end
			if v.show then
				v:show();
			end
		end
	end
	-- 通知插件状态
	if self.weekTable.plugincash then
		for i,v in ipairs(self.weekTable.plugincash) do
		    if v.onCreate then
				v:onCreate();
			end
		end
	end
	self:initSliderView();
end

function SliderMenuViewCtrl:initSliderView()
	--self.sliderScrollView:add(self.leftMenuViewCtrl.)




	--[[if self.leftMenuViewCtrl ~= nil then
		self.leftMenuViewCtrl.rootView = MLView.new():ini
		self.leftMenuIsEnable = true;
	else
		self.leftMenuIsEnable = false;
	end

	if self.rightMenuViewCtrl ~= nil then

		self.rightMenuIsEnable = true;
	else
		self.rightMenuIsEnable = false;
	end]]

	--rootScreenView:add(rootSlicerView);
	--self.rootView:add(rootSlicerView);
	--rootSlicerView:add(self.rootView,160,self.rootView.mHeight);
	--[[if self.leftMenuIsEnable then
							print("UUUUUUUUUUUUUUUUUUUUUUUUUU")

		if self.leftMenuViewCtrl ~= nil then
			local leftwidth = self.leftMenuViewCtrl.rootView.mWidth;

			if self.rightMenuIsEnable then
				local rightWidth = self.rightMenuViewCtrl.rootView.mWidth;


				self.contentView = MLView.new():initView(leftwidth+rightWidth+rootView.mWidth,rootView.mHeight);
								
				self.contentView:add(self.leftMenuViewCtrl.rootView,0,0);
				self.contentView:add(self.rightMenuViewCtrl.rootView,self.contentView.mWidth-self.rightMenuViewCtrl.rootView.mWidth,0)		
				self.contentView:add(self.rootView,leftwidth,0);
			else 
				self.contentView = MLView.new():initView(leftwidth+rootView.mWidth,rootView.mHeight);
				self.contentView:add(self.leftMenuViewCtrl.rootView,0,0);
				self.contentView:add(self.rootView,leftwidth,0);
			end
		elseif self.rightMenuIsEnable then
			local rightWidth = self.rightMenuViewCtrl.rootView.mWidth;
			self.contentView = MLView.new():initView(rightWidth+rootView.mWidth,rootView.mHeight);
			self.contentView:add(self.rightMenuViewCtrl.rootView,self.rootView.mWidth,0);
			self.contentView:add(self.rightMenuViewCtrl.rootView,0,0);
		end
	end]]
	--[[local w,h = self.rootView:getWH();
	local rootSlicerView = MLScrollView.new():initScrollView(w, h, true);
	rootSlicerView:add(self.contentView);
	if self.contentView ~= nil then

		rootSlicerView:add(self.contentView);
		
	end]]
end


--[[
功能   ： controller恢复 状态
参数   ： 无
返回   ： 无
]]
function SliderMenuViewCtrl:onCtrlResume()
	print('SliderMenuViewCtrl:onCtrlResume')
	self:onResume();
	if self.weekTable.viewcash then
		for i,v in ipairs(self.weekTable.viewcash) do
			if v.onResume then
				v:onResume();
			end
		end
	end
		-- 通知插件状态
	if self.weekTable.plugincash then
		for i,v in ipairs(self.weekTable.plugincash) do
		    if v.onResume then
				v:onResume();
			end
		end
	end
end

function SliderMenuViewCtrl:onCtrlPause()
	print('SliderMenuViewCtrl:onCtrlPause')
	self:onPause();
	if self.weekTable.viewcash then
		for i,v in ipairs(self.weekTable.viewcash) do
			if v.onPause then
				v:onPause();
			end
		end
	end
		-- 通知插件状态
	if self.weekTable.plugincash then
		for i,v in ipairs(self.weekTable.plugincash) do
		    if v.onPause then
				v:onPause();
			end
		end
	end
end

function SliderMenuViewCtrl:onCtrlDestroy()
	print('SliderMenuViewCtrl:onCtrlDestroy')
	self:onDestroy();
	if self.weekTable.viewcash then
		for i,v in ipairs(self.weekTable.viewcash) do
			if v.onDestroy then
				v:onDestroy();
			end
		end
	end
			-- 通知插件状态
	if self.weekTable.plugincash then
		for i,v in ipairs(self.weekTable.plugincash) do
		    if v.onDestroy then
				v:onDestroy();
			end
		end
	end
end
--[[
功能   ： 根据视图ID得到视图
参数   ： 无
返回   ： 无
]]
function SliderMenuViewCtrl:getView(id)
    if id == nil then return end
	    if self.weekTable.viewcash  then   
		    for i,v in ipairs(self.weekTable.viewcash) do
			    if v.id == id then
				return v;
			end
		end
	end
end
--[[
功能   ： 将视图添加到控制里
参数   ： 无
返回   ： 无
]]
function SliderMenuViewCtrl:addView(view)
    if self.weekTable.viewcash  then   -- 添加到ctrl缓存
		self.weekTable.viewcash[#self.weekTable.viewcash + 1] = view; -- 填到刷新队列
	end
end

--[[
功能   ： 添加插件
参数   ： 无
返回   ： 无
]]
function SliderMenuViewCtrl:addPlugin(plugin)
    if self.weekTable.plugincash  then   -- 添加到ctrl缓存
		self.weekTable.plugincash[#self.weekTable.plugincash + 1] = view; -- 填到刷新队列
	end
end

------------------------------ 代理


--[[
功能   ：  controller被创建 代理
参数   ： 无
返回   ： 无
]]
function SliderMenuViewCtrl:onCreate(rootView)
	print("SliderMenuViewCtrl:onCreate")
end

--[[
功能   ： controller恢复 代理
参数   ： 无
返回   ： 无
]]
function SliderMenuViewCtrl:onResume()
end

--[[
功能   ： controller暂停 代理
参数   ： 无
返回   ： 无
]]
function SliderMenuViewCtrl:onPause()
end

--[[
功能   ： controller 摧毁代理
参数   ： 无
返回   ： 无
]]
function SliderMenuViewCtrl:onDestroy()
end


